Espressif Systems /ESP32 /EMAC_DMA /DMABUSMODE

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as DMABUSMODE

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (SW_RST)SW_RST 0 (DMA_ARB_SCH)DMA_ARB_SCH 0DESC_SKIP_LEN 0 (ALT_DESC_SIZE)ALT_DESC_SIZE 0PROG_BURST_LEN 0PRI_RATIO 0 (FIXED_BURST)FIXED_BURST 0RX_DMA_PBL0 (USE_SEP_PBL)USE_SEP_PBL 0 (PBLX8_MODE)PBLX8_MODE 0 (DMAADDRALIBEA)DMAADDRALIBEA 0 (DMAMIXEDBURST)DMAMIXEDBURST

Description

Bus mode configuration

Fields

SW_RST

When this bit is set the MAC DMA Controller resets the logic and all internal registers of the MAC. It is cleared automatically after the reset operation is complete in all of the ETH_MAC clock domains. Before reprogramming any register of the ETH_MAC you should read a zero (0) value in this bit.

DMA_ARB_SCH

This bit specifies the arbitration scheme between the transmit and receive paths.1’b0: weighted round-robin with RX:TX or TX:RX priority specified in PR (bit[15:14]). 1’b1 Fixed priority (Rx priority to Tx).

DESC_SKIP_LEN

This bit specifies the number of Word to skip between two unchained descriptors.The address skipping starts from the end of current descriptor to the start of next descriptor. When the DSL(DESC_SKIP_LEN) value is equal to zero the descriptor table is taken as contiguous by the DMA in Ring mode.

ALT_DESC_SIZE

When set the size of the alternate descriptor increases to 32 bytes.

PROG_BURST_LEN

These bits indicate the maximum number of beats to be transferred in one DMA transaction. If the number of beats to be transferred is more than 32 then perform the following steps: 1. Set the PBLx8 mode 2. Set the PBL(PROG_BURST_LEN).

PRI_RATIO

These bits control the priority ratio in the weighted round-robin arbitration between the Rx DMA and Tx DMA. These bits are valid only when Bit 1 (DA) is reset. The priority ratio Rx:Tx represented by each bit: 2’b00 – 1: 1 2’b01 – 2: 0 2’b10 – 3: 1 2’b11 – 4: 1

FIXED_BURST

This bit controls whether the AHB master interface performs fixed burst transfers or not. When set the AHB interface uses only SINGLE INCR4 INCR8 or INCR16 during start of the normal burst transfers. When reset the AHB interface uses SINGLE and INCR burst transfer Operations.

RX_DMA_PBL

This field indicates the maximum number of beats to be transferred in one Rx DMA transaction. This is the maximum value that is used in a single block Read or Write.The Rx DMA always attempts to burst as specified in the RPBL(RX_DMA_PBL) bit each time it starts a burst transfer on the host bus. You can program RPBL with values of 1 2 4 8 16 and 32. Any other value results in undefined behavior. This field is valid and applicable only when USP(USE_SEP_PBL) is set high.

USE_SEP_PBL

When set high this bit configures the Rx DMA to use the value configured in Bits[22:17] as PBL. The PBL value in Bits[13:8] is applicable only to the Tx DMA operations. When reset to low the PBL value in Bits[13:8] is applicable for both DMA engines.

PBLX8_MODE

When set high this bit multiplies the programmed PBL value (Bits[22:17] and Bits[13:8]) eight times. Therefore the DMA transfers the data in 8 16 32 64 128 and 256 beats depending on the PBL value.

DMAADDRALIBEA

When this bit is set high and the FIXED_BURST bit is 1 the AHB interface generates all bursts aligned to the start address LS bits. If the FIXED_BURST bit is 0 the first burst (accessing the start address of data buffer) is not aligned but subsequent bursts are aligned to the address.

DMAMIXEDBURST

When this bit is set high and the FIXED_BURST bit is low the AHB master interface starts all bursts of a length more than 16 with INCR (undefined burst) whereas it reverts to fixed burst transfers (INCRx and SINGLE) for burst length of 16 and less.

Links

() ()